Skip to content

Enable ClangTidy alongside compilation in macOS #1824

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 16, 2025
Merged

Conversation

jviotti
Copy link
Member

@jviotti jviotti commented Jul 8, 2025

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from 76cecdb to 881c921 Compare July 8, 2025 20:53
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Benchmark suite Current: e0f9805 Previous: e620979 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.4926910714287134 ns/iter 2.4805432142857495 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.101933035714361 ns/iter 3.100704017856718 ns/iter 1.00
Regex_Period_Asterisk 2.810965177316937 ns/iter 2.7874194171539757 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.486694642857401 ns/iter 2.4826689285715378 ns/iter 1.00
Regex_Period_Plus 2.7903748648256306 ns/iter 2.7912788826823713 ns/iter 1.00
Regex_Period 2.792853079110194 ns/iter 2.7908642398253645 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.8025614273203465 ns/iter 2.788154998755545 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 2.793703659467505 ns/iter 2.7886986148263175 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 2.79063883804 ns/iter 2.790497007682776 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.4804128571434245 ns/iter 2.4809410686597553 ns/iter 1.00
Regex_Caret_X_Hyphen 5.891163392858191 ns/iter 5.882937499999383 ns/iter 1.00
Regex_Period_Md_Dollar 147.64437500000483 ns/iter 146.61988839286266 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 5.896036999999978 ns/iter 5.877138392857464 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 3.1151500000003045 ns/iter 3.098262500000004 ns/iter 1.01
Regex_Nested_Backtrack 589.9511607142114 ns/iter 575.7505357143446 ns/iter 1.02
JSON_Array_Of_Objects_Unique 488.9390870636419 ns/iter 482.10939819162144 ns/iter 1.01
JSON_Parse_1 76245.69438862197 ns/iter 80884.53125000125 ns/iter 0.94
JSON_Fast_Hash_Helm_Chart_Lock 62.96043526786222 ns/iter 64.84773214286373 ns/iter 0.97
JSON_Equality_Helm_Chart_Lock 190.37267771185924 ns/iter 189.32982940444268 ns/iter 1.01
JSON_String_Equal/10 8.66776201487521 ns/iter 8.679949776785481 ns/iter 1.00
JSON_String_Equal/100 10.230038793614188 ns/iter 10.234209329312725 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1711128124998424 ns/iter 2.170847812499943 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.806935267855131 ns/iter 14.747196428572806 ns/iter 1.00
JSON_String_Fast_Hash/10 3.7151292790804655 ns/iter 3.7421726718890675 ns/iter 0.99
JSON_String_Fast_Hash/100 3.714551333481638 ns/iter 3.72203463621061 ns/iter 1.00
JSON_String_Key_Hash/10 7.6552928229680735 ns/iter 7.577917410714262 ns/iter 1.01
JSON_String_Key_Hash/100 4.3337600000000975 ns/iter 4.330925000000008 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.63487143891601 ns/iter 4.647466751445289 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7184808424045377 ns/iter 3.7155251719360844 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.667836617561231 ns/iter 4.680696439019384 ns/iter 1.00
Pointer_Object_Traverse 50.908339999978125 ns/iter 50.341519999994944 ns/iter 1.01
Pointer_Object_Try_Traverse 68.23310267858318 ns/iter 68.56264285714937 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 178.63620615868481 ns/iter 178.57327535088788 ns/iter 1.00
Schema_Frame_OMC_Instances 383402799.9999989 ns/iter 385428250.0000181 ns/iter 0.99
Schema_Frame_OMC_References 234704733.3333497 ns/iter 234568066.666687 ns/iter 1.00
Schema_Frame_OMC_Locations 222752233.333343 ns/iter 223695033.33334252 ns/iter 1.00
Schema_Bundle_Meta_2020_12 14803523.999994468 ns/iter 14800622.000004752 ns/iter 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from 881c921 to be6a4b4 Compare July 8, 2025 21:05
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/gcc)

Benchmark suite Current: e0f9805 Previous: e620979 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9104272151394792 ns/iter 2.127475499255402 ns/iter 0.90
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9009763266419109 ns/iter 2.0449008054301077 ns/iter 0.93
Regex_Period_Asterisk 1.901479055121605 ns/iter 2.073998846970678 ns/iter 0.92
Regex_Group_Period_Asterisk_Group 1.8997919860822814 ns/iter 2.0477011477535902 ns/iter 0.93
Regex_Period_Plus 1.8963477543340994 ns/iter 2.0392307091713833 ns/iter 0.93
Regex_Period 1.5993495221687872 ns/iter 1.6952296426398563 ns/iter 0.94
Regex_Caret_Period_Plus_Dollar 1.62201863651546 ns/iter 1.7343629012180963 ns/iter 0.94
Regex_Caret_Group_Period_Plus_Group_Dollar 1.6561322399877874 ns/iter 1.8421099253160758 ns/iter 0.90
Regex_Caret_Period_Asterisk_Dollar 1.8940896405321839 ns/iter 2.035280974927181 ns/iter 0.93
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9338395085848505 ns/iter 2.082127321217182 ns/iter 0.93
Regex_Caret_X_Hyphen 6.067634837122874 ns/iter 6.4691945266734106 ns/iter 0.94
Regex_Period_Md_Dollar 67.96672358581395 ns/iter 71.65762801404482 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 4.41083299345548 ns/iter 4.602402277122041 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 1.9209937489004711 ns/iter 1.9968444651184116 ns/iter 0.96
Regex_Nested_Backtrack 816.4576258983744 ns/iter 828.4335617614028 ns/iter 0.99
JSON_Array_Of_Objects_Unique 203.415072936221 ns/iter 206.1122865705266 ns/iter 0.99
JSON_Parse_1 20971.011599915906 ns/iter 21708.201012688918 ns/iter 0.97
JSON_Fast_Hash_Helm_Chart_Lock 23.87011269017972 ns/iter 24.17270717174514 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 114.24999299133138 ns/iter 118.22893325396994 ns/iter 0.97
JSON_String_Equal/10 5.413180574386532 ns/iter 5.60393582690369 ns/iter 0.97
JSON_String_Equal/100 5.087586985352071 ns/iter 5.260812002941354 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7645784799438804 ns/iter 0.7990109339428072 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5280308928055524 ns/iter 3.5836858133714755 ns/iter 0.98
JSON_String_Fast_Hash/10 1.913324159627937 ns/iter 1.9690582386480482 ns/iter 0.97
JSON_String_Fast_Hash/100 1.9032137092926524 ns/iter 1.9644248520791632 ns/iter 0.97
JSON_String_Key_Hash/10 1.4457976098718923 ns/iter 1.4873943191993257 ns/iter 0.97
JSON_String_Key_Hash/100 2.5504076380480374 ns/iter 2.629759694062948 ns/iter 0.97
JSON_Object_Defines_Miss_Same_Length 1.7384325058995183 ns/iter 1.7923441932969701 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Small 1.9110612742161364 ns/iter 1.9638872382869508 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Large 1.7454283089530265 ns/iter 1.8092637869649812 ns/iter 0.96
Pointer_Object_Traverse 52.977122648565874 ns/iter 54.19647266932925 ns/iter 0.98
Pointer_Object_Try_Traverse 38.63963494029469 ns/iter 37.64436621517542 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.68046868890232 ns/iter 166.2314084150969 ns/iter 0.96
Schema_Frame_OMC_Instances 149808979.03442383 ns/iter 173979520.7977295 ns/iter 0.86
Schema_Frame_OMC_References 88559120.8934784 ns/iter 104158163.07067871 ns/iter 0.85
Schema_Frame_OMC_Locations 86756096.9458686 ns/iter 95009837.83176968 ns/iter 0.91
Schema_Bundle_Meta_2020_12 5253124.237060547 ns/iter 5026569.803252475 ns/iter 1.05

This comment was automatically generated by workflow using github-action-benchmark.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Benchmark suite Current: e0f9805 Previous: e620979 Ratio
Schema_Frame_OMC_Instances 179279085.99997976 ns/iter 195436936.3333323 ns/iter 0.92
Schema_Frame_OMC_References 100757523.0000027 ns/iter 108663527.33334376 ns/iter 0.93
Schema_Frame_OMC_Locations 97162567.42857304 ns/iter 101488794.28571232 ns/iter 0.96
Schema_Bundle_Meta_2020_12 6320076.645457366 ns/iter 6358250.454552076 ns/iter 0.99
Pointer_Object_Traverse 49.350510393519976 ns/iter 48.13126251429368 ns/iter 1.03
Pointer_Object_Try_Traverse 22.67534731628448 ns/iter 23.790398984969425 ns/iter 0.95
Pointer_Push_Back_Pointer_To_Weak_Pointer 168.40071145328906 ns/iter 175.24188372068912 ns/iter 0.96
JSON_Array_Of_Objects_Unique 376.24517240068 ns/iter 393.41605397995494 ns/iter 0.96
JSON_Parse_1 31488.985524081952 ns/iter 31402.87493335953 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 56.86150137617578 ns/iter 69.63399466185548 ns/iter 0.82
JSON_Equality_Helm_Chart_Lock 150.99260776097066 ns/iter 160.8569982806678 ns/iter 0.94
JSON_String_Equal/10 6.651677996036001 ns/iter 6.342715629779075 ns/iter 1.05
JSON_String_Equal/100 7.2745568330965185 ns/iter 6.984193828639784 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9347382886154905 ns/iter 0.6234476436762881 ns/iter 1.50
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 19.28118361948083 ns/iter 19.29504428209044 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9333760235028045 ns/iter 0.9372041369126809 ns/iter 1.00
JSON_String_Fast_Hash/100 0.9336733478049033 ns/iter 0.9330022986982318 ns/iter 1.00
JSON_String_Key_Hash/10 1.2458659265165 ns/iter 1.55741335549604 ns/iter 0.80
JSON_String_Key_Hash/100 2.037116177567733 ns/iter 2.0252436417745323 ns/iter 1.01
JSON_Object_Defines_Miss_Same_Length 2.7997399918246964 ns/iter 2.487830287415779 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 2.487420825743706 ns/iter 2.491885760814071 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.4899423688744298 ns/iter 2.7976357751818233 ns/iter 0.89
Regex_Lower_S_Or_Upper_S_Asterisk 3.4200205474735146 ns/iter 3.1081820902674178 ns/iter 1.10
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.4212574161294516 ns/iter 2.7983057109645255 ns/iter 1.22
Regex_Period_Asterisk 3.4210261694575004 ns/iter 2.797678706132534 ns/iter 1.22
Regex_Group_Period_Asterisk_Group 3.4192973121400945 ns/iter 2.7975259120724654 ns/iter 1.22
Regex_Period_Plus 3.7314018993898768 ns/iter 3.1109814160348166 ns/iter 1.20
Regex_Period 3.7308503045530292 ns/iter 3.111460103711081 ns/iter 1.20
Regex_Caret_Period_Plus_Dollar 3.7329820246779617 ns/iter 3.0768138461005794 ns/iter 1.21
Regex_Caret_Group_Period_Plus_Group_Dollar 3.735472805537052 ns/iter 2.8074421678031976 ns/iter 1.33
Regex_Caret_Period_Asterisk_Dollar 4.663190167533294 ns/iter 3.107666928162753 ns/iter 1.50
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.418857528685804 ns/iter 3.1085035724377867 ns/iter 1.10
Regex_Caret_X_Hyphen 13.687229598359577 ns/iter 13.136862230127774 ns/iter 1.04
Regex_Period_Md_Dollar 93.92217237897718 ns/iter 87.50423653137302 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 9.463047165701822 ns/iter 9.036988752432334 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 4.974727985106564 ns/iter 4.03927692872529 ns/iter 1.23
Regex_Nested_Backtrack 819.6247504146683 ns/iter 826.6940461375738 ns/iter 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@jviotti jviotti force-pushed the clang-tidy-jviotti branch 2 times, most recently from 451629c to 1ee9188 Compare July 8, 2025 21:51
@bavulapati
Copy link
Contributor

@jviotti On Linux machines, we are not installing llvm/clang but trying to use them with CC, CXX.
Are they symlinks to gcc similar to apple's behaviour?

@bavulapati
Copy link
Contributor

Can we go with macOS for clang-tidy now?
Where we can use the clang-tidy installed with cmake.

@jviotti
Copy link
Member Author

jviotti commented Jul 16, 2025

On Linux machines, we are not installing llvm/clang but trying to use them with CC, CXX. Are they symlinks to gcc similar to apple's behaviour?

They are not according to the CMake configuration output. Not sure why it doesn't work there yet. Maybe there is some extra tweaking we need to do.

Can we go with macOS for clang-tidy now? Where we can use the clang-tidy installed with cmake.

Yeah, I think that's a good idea. Also selfishly given I only work on macOS 😅 I'll update the PR and we can figure out Linux later. Overall, these build configurations are always very tricky, and that's my goal with a project like Core and the vast amount of CMake utilities I have there: figure it out once and get to use it everywhere forever

@jviotti jviotti force-pushed the clang-tidy-jviotti branch from 1ee9188 to d6e0d2d Compare July 16, 2025 13:48
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Benchmark suite Current: e0f9805 Previous: e620979 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2401782336249223 ns/iter 2.187160732371375 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.208092847737369 ns/iter 2.18284551214048 ns/iter 1.01
Regex_Period_Asterisk 2.213518951708332 ns/iter 2.1805884481251603 ns/iter 1.02
Regex_Group_Period_Asterisk_Group 2.3488711143614096 ns/iter 2.183162594389138 ns/iter 1.08
Regex_Period_Plus 2.4902796575778194 ns/iter 2.487948256574032 ns/iter 1.00
Regex_Period 2.487771059558 ns/iter 2.487825808560824 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.487434367702167 ns/iter 2.489198924629238 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.4863834501934488 ns/iter 2.488240428826407 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.418733147670844 ns/iter 3.420702648807854 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4247936990994914 ns/iter 3.421480922658195 ns/iter 1.00
Regex_Caret_X_Hyphen 12.61538428915347 ns/iter 12.660765474161591 ns/iter 1.00
Regex_Period_Md_Dollar 74.45366613063908 ns/iter 73.86467960253381 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 7.148892954644505 ns/iter 7.150919509214019 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.041784700819092 ns/iter 3.9972521578160634 ns/iter 1.01
Regex_Nested_Backtrack 457.8690389921359 ns/iter 451.71523440931725 ns/iter 1.01
JSON_Array_Of_Objects_Unique 495.5733819884695 ns/iter 492.03632128908987 ns/iter 1.01
JSON_Parse_1 29009.155388471117 ns/iter 28326.384818132417 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 68.72096799329815 ns/iter 68.73345135809167 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 156.36480337656948 ns/iter 142.18639709351814 ns/iter 1.10
JSON_String_Equal/10 8.08283549229094 ns/iter 6.844232812148388 ns/iter 1.18
JSON_String_Equal/100 5.912639617718112 ns/iter 7.471839751181822 ns/iter 0.79
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9353929075146104 ns/iter 0.9352384253105803 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.622897235124928 ns/iter 10.26024773044836 ns/iter 1.43
JSON_String_Fast_Hash/10 2.798841371975229 ns/iter 2.799108440241232 ns/iter 1.00
JSON_String_Fast_Hash/100 2.7978652471736436 ns/iter 2.7994288247088677 ns/iter 1.00
JSON_String_Key_Hash/10 2.701298024457298 ns/iter 1.8680035380921316 ns/iter 1.45
JSON_String_Key_Hash/100 2.8018556529452434 ns/iter 2.803768908250959 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7360141337018926 ns/iter 3.7349186248426007 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.742405180810109 ns/iter 3.77596641419898 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Large 3.7340261260917065 ns/iter 3.73748207407959 ns/iter 1.00
Pointer_Object_Traverse 44.70534643973155 ns/iter 46.32186384577075 ns/iter 0.97
Pointer_Object_Try_Traverse 52.36548027497083 ns/iter 52.31901062482889 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 306.7091743814361 ns/iter 349.6085401074515 ns/iter 0.88
Schema_Frame_OMC_Instances 179564983.0000059 ns/iter 182275484.0000016 ns/iter 0.99
Schema_Frame_OMC_References 101295188.4285696 ns/iter 105682076.14284931 ns/iter 0.96
Schema_Frame_OMC_Locations 97141982.14286235 ns/iter 100496231.42858113 ns/iter 0.97
Schema_Bundle_Meta_2020_12 6359813.532116039 ns/iter 6290353.917425409 ns/iter 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@jviotti
Copy link
Member Author

jviotti commented Jul 16, 2025

OK, I made it work by default on macOS only and fixed a few initial batch of warnings. So far it doesn't feel super slow. If adding more checks makes it slower, then we can look into only enabling it on CI or something like that.

I also left a TODO for trying to enable it per target, so we don't have to disable it per test. I'll take a look later, when I get some more capacity!

@jviotti jviotti changed the title [WIP] Experiment with ClangTidy alongside compilation Enable ClangTidy alongside compilation in macOS Jul 16, 2025
@jviotti jviotti marked this pull request as ready for review July 16, 2025 14:05
@bavulapati
Copy link
Contributor

@jviotti I updated #1801

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the clang-tidy-jviotti branch from a8f493a to fd85d8d Compare July 16, 2025 14:11
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the clang-tidy-jviotti branch from fd85d8d to e0f9805 Compare July 16, 2025 14:12
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Benchmark suite Current: e0f9805 Previous: e620979 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9373103400160625 ns/iter 1.915949682430989 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.5904718391200912 ns/iter 1.5829066953800044 ns/iter 1.00
Regex_Period_Asterisk 1.6087480515264827 ns/iter 1.594767443248047 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 1.7231739086293414 ns/iter 1.618502061176787 ns/iter 1.06
Regex_Period_Plus 2.043110648750133 ns/iter 1.94727180098623 ns/iter 1.05
Regex_Period 1.9977471790496113 ns/iter 1.988572655040402 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 1.9312715723558527 ns/iter 2.007359110187995 ns/iter 0.96
Regex_Caret_Group_Period_Plus_Group_Dollar 1.9660782101823175 ns/iter 1.9716929407120882 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 1.6087493602493261 ns/iter 1.6175904478999834 ns/iter 0.99
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.604960483038725 ns/iter 1.6233056783747708 ns/iter 0.99
Regex_Caret_X_Hyphen 7.048982250627093 ns/iter 6.7081314434659 ns/iter 1.05
Regex_Period_Md_Dollar 71.47274970782318 ns/iter 72.75077618377513 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 5.082299281989226 ns/iter 5.194437688211099 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 2.247800719003781 ns/iter 2.282553606751669 ns/iter 0.98
Regex_Nested_Backtrack 745.0023708131374 ns/iter 759.1147222828453 ns/iter 0.98
JSON_Array_Of_Objects_Unique 331.4890804323767 ns/iter 342.2823854832822 ns/iter 0.97
JSON_Parse_1 20243.05848743451 ns/iter 20351.057101156122 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 48.35280971608419 ns/iter 49.01783629198482 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 129.10695888537168 ns/iter 123.54389966665518 ns/iter 1.05
JSON_String_Equal/10 8.132387253503936 ns/iter 7.769035027712062 ns/iter 1.05
JSON_String_Equal/100 6.2944264432289065 ns/iter 6.191583887572792 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 0.33748099679850885 ns/iter 0.3219298357618319 ns/iter 1.05
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 2.9658998722936545 ns/iter 3.0915147951745787 ns/iter 0.96
JSON_String_Fast_Hash/10 1.6793395489602965 ns/iter 1.6342306849050487 ns/iter 1.03
JSON_String_Fast_Hash/100 1.9442839594430998 ns/iter 1.9435331003631462 ns/iter 1.00
JSON_String_Key_Hash/10 1.302362987539492 ns/iter 1.2896585999632837 ns/iter 1.01
JSON_String_Key_Hash/100 1.706838148070831 ns/iter 1.7517600118902747 ns/iter 0.97
JSON_Object_Defines_Miss_Same_Length 2.278445788263826 ns/iter 2.229531757815929 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Small 2.2608846884079985 ns/iter 2.234853202686398 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 2.280362367186402 ns/iter 2.2976274377398473 ns/iter 0.99
Pointer_Object_Traverse 16.75333604744977 ns/iter 16.393195768259936 ns/iter 1.02
Pointer_Object_Try_Traverse 22.158641638015418 ns/iter 22.100970204802525 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 176.1358761002618 ns/iter 173.00545506472372 ns/iter 1.02
Schema_Frame_OMC_Instances 150495291.80000716 ns/iter 148533020.99999154 ns/iter 1.01
Schema_Frame_OMC_References 84959152.7777799 ns/iter 89610702.285719 ns/iter 0.95
Schema_Frame_OMC_Locations 81042047.57143764 ns/iter 91172572.99999437 ns/iter 0.89
Schema_Bundle_Meta_2020_12 4521097.357148286 ns/iter 4472912.25826283 ns/iter 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@jviotti jviotti merged commit e307430 into main Jul 16, 2025
14 checks passed
@jviotti jviotti deleted the clang-tidy-jviotti branch July 16, 2025 14:33
@jviotti
Copy link
Member Author

jviotti commented Jul 16, 2025

@bavulapati Merged! Looking at your other PR, if you want to play with enabling this per target, I would do it like this:

  • Remove the disable CMake function in clang-tidy.cmake and stop using it on CMakeLists.txt
  • Tweak the attempt_enable CMake function clang-tidy.cmake to take a target name to apply to
  • Then use that function in the CMake utility functions we have for declaring libraries and executables

@bavulapati
Copy link
Contributor

Happy that we have Clang-tidy enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants